import Vue from "vue";
import axios from "axios";
import VueAxios from "vue-axios";

Vue.use(VueAxios, axios);

// 测试是否连通
// const baseUrl = "http://httpbin.org/";

// 这是全局的，一般创建实例引用
// Vue.axios.get(baseUrl).then(response => {
//   console.log(response);
// });

export function request(config) {
  // 创建实例
  const instance = axios.create({
    baseURL: "http://106.54.54.237:8000/api/v1",
    timeout: 5000
  });
  // 设置拦截器
  // 请求拦截，拦截config，必须把config返回
  instance.interceptors.request.use(
    function(config) {
      // config的格式不符合服务器的要求；每次发送请求添加loading；某些请求比如登录，需要携带token
      return config;
    },
    function(error) {
      return Promise.reject(error);
    }
  );
  // 响应拦截
  instance.interceptors.response.use(
    function(response) {
      return response.data;
    },
    function(error) {
      return Promise.reject(error);
    }
  );
  // 默认返回 Promise
  return instance(config);
}
